#include "cJson/cJSON.h"
#include "log/log.h"
#include  <stdlib.h>

int main(int argc, char const *argv[])
{

    /* 1.生成JSON字符串 */

    /* 1.1 创建JSON对象 */
    cJSON *obj = cJSON_CreateObject(); /* create cjson object*/
    /* 1.2 往里面添加东西 */
    cJSON_AddStringToObject(obj, "name", "cs"); /* add something  */
    cJSON_AddNumberToObject(obj, "age", 18); /* add something */
    cJSON_AddStringToObject(obj, "sex", "male"); /* add something */
    /* 1.3 生成JSON字符串 */
    char *json = cJSON_PrintUnformatted(obj); /* generate json string */
    log_debug("json: %s", json);

   
    /* 2.解析json字符串 */
    
    /* 2.1 将JSON字符串，转为JSON对象*/
    cJSON *obj2 = cJSON_Parse(json); /* parse json string */
    if(obj2 == NULL)
    {
        log_error("parse json failed");
        return -1;
    }
    /* 2.2 调用方法取K—V */
     char *name =  cJSON_GetObjectItem(obj2, "name")->valuestring;
     int   age  =  cJSON_GetObjectItem(obj2, "age")->valueint;
     char *sex  =  cJSON_GetObjectItem(obj2, "sex")->valuestring;
     log_debug("name: %s, age: %d, sex: %s", name, age, sex);
    
    
    /* 3.释放内存 */
    cJSON_Delete(obj);
    cJSON_Delete(obj2);
    free(json);

    return 0;
}
